#ifndef _RENDER_MANAGER_H
#define _RENDER_MANAGER_H

#include "SFML\Graphics.hpp"
#include "..\Engines\RenderEngine.h"
#include <memory>

enum RenderState
{
	RS_NONE = 0,
	RS_WINDOW,
	RS_BACKBUFFER
};


class RenderManager
{
public:
	static RenderManager& getSingleton();
	static void clean();

	void createRenderEngine(RenderEngine*);

	void beginRender();
	void render();
	void endRender();

	RenderEngine* getRenderEngine() { return m_renderEngine; }

private:
	RenderManager(void);
	virtual ~RenderManager(void);

	static RenderManager* m_instance;

	RenderEngine* m_renderEngine;
};

#endif // _RENDER_MANAGER_H

